import {
    findAllCategory
} from '@/api/category'
import {
    topCategory
} from '@/api/constants'
export default {
    state() {
        return {
            // 如果网络数据还没有加载完时，默认使用常量数据来渲染,并且处理常量数据为数组对象，至少有一个属性为name
            cateList: topCategory.map(item => ({
                name: item
            }))
        }
    },
    getters: {

    },
    mutations: {
        // 获取分类数据
        setCateList(state, payload) {
            // 给每一个一级分类添加一个标识来控制样式
            payload.forEach(item => {
                item.open = false
            })
            state.cateList = payload
        }
    },
    actions: {
        // 发送网络请求获取分类数据
        async getCateList({
            commit
        }) {
            const {
                result
            } = await findAllCategory()
            commit('setCateList', result)
        }
    }
}